home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / MISC / STRATEG3.ZIP / STRATEG2.AI < prev   
Encoding:
Internet Message Format  |  1994-12-12  |  5.6 KB

  1. From: andrew@cs.uct.ac.za (Andrew Luppnow)
  2. Date: Fri, 2 Dec 1994 10:10:50 +0200 (SAT)
  3.  
  4. This document proposes an approach to the problem of
  5. designing the AI routines for intelligent computer wargame
  6. opponents.  It is hoped that the scheme will allow the
  7. efficient, or at least feasible, implementation of opponents
  8. which are capable of formulating strategy, rather than
  9. behaving predictably according to fixed sets of simple rules.
  10.  
  11. In the text below, "DMS" is an abbreviation for "decision-
  12. making-system".  I use the term very loosely to denote any
  13. programming subsystem which accepts, as input, a "situation"
  14. and which generates, as output, a "response".  The DMS may
  15. be a simple neural network, a collection of hard-coded
  16. rules, a set of fuzzy logic rules, a simple lookup table,
  17. or whatever you want it to be!  It's most important feature
  18. is that it must be SIMPLE and TRACTABLE - in particular, it
  19. must accept input from a small, finite set of possible
  20. inputs and generate output which belongs in a similarly
  21. small, finite set of possible outputs.
  22.  
  23. Some time ago I asked myself how a programmer might begin to
  24. implement the AI of a wargame which requires the computer
  25. opponent to develop a sensible military strategy.  I
  26. eventually realized that simply feeding a SINGLE decision-
  27. making system with information concerning the position and
  28. status of each friendly and enemy soldier is hopelessly
  29. inefficient - it would be akin to presenting a general with
  30. such information and expecting him to dictate the movement
  31. of each soldier!
  32.  
  33. But in reality a general doesn't make that type of decision,
  34. and neither does he receive information about the precise
  35. location of each soldier on the battlefield.  Instead, he
  36. receives _strategic_ information from his commanders, makes
  37. strategic decisions and presents the chosen strategy to the
  38. commanders.  The commanders, in turn, receive _tactical_
  39. information and make tactical decisions based on (1) that
  40. information and (2) the strategy provided by the general.
  41.  
  42. And so the process continues until, at the very bottom level,
  43. each soldier receives precise orders about what he and his
  44. immediate comrades are expected to accomplish.
  45.  
  46. The important point is that the whole process can be envisaged
  47. in terms of several 'levels'.  Each level receives information
  48. >from the level immediately below it, 'summarises' or
  49. 'generalises' that information and presents the result to
  50. the level immediately above it.  In return, it receives a set
  51. of objectives from the level above it and uses (1) this set
  52. of objectives and (2) the information from the lower level
  53. to compute a more precise set of objectives.  This latter
  54. set of objectives then becomes the 'input from above' of the
  55. next lower level, and so on.  In summary: information filters
  56. UP through the levels, becoming progressively more general,
  57. while commands and objectives filter DOWN through the levels,
  58. becoming progressively more detailed and precise.
  59.  
  60. I decided that this paradigm might represent a good conceptual
  61. model for the implementation of the AI procedures in a
  62. complex strategy-based game: a "tree of DMS's" can be used to
  63. mimic the chain of command in a military hierarchy.
  64. Specifically, one might use one or more small, relatively simple
  65. DMS's for each level.  The inputs for a DMS of level 'k' would
  66. be the outputs of a level (k+1) DMS and the information
  67. obtained by 'summarising' level (k-1) information.  The outputs
  68. of the level k DMS would, in turn, serve as inputs for one or
  69. more level (k-1) DMS's.  Outputs of the level zero DMS's would
  70. be used to update the battlefield.
  71.  
  72.  
  73.                                         "Top brass" - fewer,
  74.                                         MORE GENERAL options
  75.                                         allow lookahead and
  76. Level 3        ^              o         "what-if reasoning."
  77.               /|\            / \
  78. Level 2      / | \          o   o
  79.                |           /|\  |\
  80. Level 1        |          o o o o o
  81.              \ | /       /| | | | |\
  82. Level 0       \|/       o o o o o o o   Individual soldiers -
  83.                V                        many options, but
  84.                                         decision-making is
  85.          As information                 simple and doesn't
  86.          filters UP the                 attempt "lookahead",
  87.          tree, it becomes               "what-if reasoning",
  88.          more general. As               etc.
  89.          objectives filter
  90.          DOWN the tree,
  91.          they become more
  92.          specific.
  93.                         
  94. The main advantage of this scheme is that it allows the "higher
  95. levels" of the hierarchy to formulate strategy, without being
  96. overwhelmed by the immense and intractably large number of
  97. possibilities which the computer AI would have to consider if
  98. it possessed only information about individual soldiers.
  99. Indeed, at the topmost level, decisions would involve rather
  100. abstract options such as
  101.  
  102. - "direct all military activity towards seizing territory X",
  103.   or
  104. - "conduct wars of attrition in territories X, Y, and Z",
  105.   or
  106. - "buy time - stick to diplomacy for the time being",
  107.   or
  108. - "avoid direct military engagement - concentrate on disrupting
  109.    enemy supply routes",
  110.   etc.
  111.  
  112. Under these circumstances, it would be feasible for the computer
  113. to attempt a certain amount of "lookahead", or to consider
  114. "what-if" scenarios - something which would be out of the
  115. question if options were presented in terms of the actions of
  116. individual soldiers.
  117.  
  118. At the time of writing this, I haven't yet had the opportunity
  119. to explore an implementation of these ideas in a working game,
  120. but if anybody DOES enjoy some practical success with these
  121. ideas, I'd be interested in hearing from him/her!
  122.  
  123. --- Andrew Luppnow
  124.